
package actions;

import dao.EntityAlreadyExistsException;
import dao.InexistantEntityException;
import gestion.GestionnaireRemote;

/**
 * Enregistre le nouveau produit en base de données.
 * @author Alex
 */
public class NewProduit extends MiagetestAction {

    private Integer reference;

    private String nom;

    private String prix;

    private Integer idCategorie;

    public void setReference(Integer reference) {
        this.reference = reference;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }
   
    public void setIdCategorie(Integer idCategorie) {
        this.idCategorie = idCategorie;
    }

    public void setPrix(String prix) {
        this.prix = prix;
    }

    @Override
    public String execute() {
        try {
            GestionnaireRemote gestionnaire = lookupGestionnaireRemote();

            Double prixDouble = Double.parseDouble(prix);

            gestionnaire.creerProduit(reference, nom, prixDouble, idCategorie);
            setMessage("Le produit a été correctement créé.");
            
        } catch (InexistantEntityException ex) {
            setMessage(ex.toString());
        } catch (EntityAlreadyExistsException ex) {
            setMessage(ex.toString());
        } catch (NumberFormatException ex) {
            setMessage("Le prix doit être un décimal avec des points.");
        }

        return SUCCESS;
    }

}
